package rbm.modelado.datos.elementos.compuestos;


import modelado.datos.elementos.ElementoAbstracto;
import rbm.modelado.datos.elementos.BoardShapeImpl;
import rbm.modelado.datos.elementos.PointShapeImpl;

import rbm.modelado.datos.elementos.interfaces.Block;
import rbm.modelado.datos.elementos.interfaces.BoardShape;
import rbm.modelado.datos.elementos.interfaces.PointShape;
import rbm.modelado.datos.elementos.interfaces.MazeFloor;


public class MazeFloorImpl extends ElementoAbstracto implements MazeFloor {
	
	private Integer levelFloor; 
	private BoardShape board;
	private Block block;
	
	private PointShape startCoord;
	private PointShape finishCoords;

    private Integer width;
    private Integer height;

	
	public MazeFloorImpl( Integer levelFloor , BoardShape b, Block block, PointShape start, PointShape finish,Integer width,Integer height)
	{
		this.levelFloor = levelFloor;
	    board = b;
	    this.block = block;
	    startCoord = start;
	    finishCoords = finish;
	    this.width = width;
	    this.height = height;
    }


   public MazeFloorImpl( int x, int y )
   {
	   
	   board = new BoardShapeImpl(x,y);
	
	   PointShape s = new PointShapeImpl(0,0);
	   startCoord = s;
	
	   PointShape f = new PointShapeImpl(0,0);
	   finishCoords = f;
   }
	
	
	public Block getBlock() {
		return block;
	}
	

	public PointShape getCoordFinal() {
		return finishCoords;
	}
	

	public PointShape getCoordInic() {
		return startCoord;
	}
	

	public BoardShape getFloor() {
		return board;
	}

	public Integer getLevel() {
		return levelFloor;
	}

	public void setBlock(Block b) {
		block = b;
		
	}


}
